home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
thomas
/
thomas.lha
/
Thomas
/
Thomas-1.1
/
README
< prev
next >
Wrap
Text File
|
1992-09-25
|
7KB
|
147 lines
-*-Indented-Text-*-
Overview of the DEC Thomas->Scheme Compiler.
This is the directory for Thomas, a compiler written at Digital Equipment
Corporation's Cambridge Research Laboratory. Thomas compiles a language
compatible with the language described in the book "Dylan(TM) an
object-oriented dynamic language" by Apple Computer Eastern Research and
Technology, April 1992; the file DIFFERENCES lists the known differences.
We have made every effort to minimize the differences between Thomas and
Dylan(TM), and to remove bugs, but help from others would be greatly
appreciated. The original development team consisted of:
Matt Birkholz (Birkholz@crl.dec.com)
Jim Miller (JMiller@crl.dec.com)
Ron Weiss (RWeiss@crl.dec.com)
In addition, Joel Bartlett (Bartlett@wrl.dec.com), Marc Feeley
(Feeley@iro.umontreal.ca), Guillermo Rozas (Jinx@zurich.ai.mit.edu) and
Ralph Swick (Swick@crl.dec.com) contributed time and energy to the initial
release.
Comments, questions, suggestions, help, etc. should be directed to:
info-thomas@crl.dec.com
Requests to be added to this mailing list should be sent to:
info-thomas-request@crl.dec.com
All general comments about Thomas should go to the above address. Comments
specifically about Thomas running in a particular Scheme implementation
should be directed to the maintainer of the implementation. As of
September 11, 1992 these maintainers are as follows:
MIT CScheme: info-thomas-cscheme@crl.dec.com
scc: info-thomas-scc@crl.dec.com
gambit: feeley@iro.umontreal.ca
* * *
In building Thomas, our goals (in order of priority) were:
(1) To learn about the Dylan(TM) language, by building an implementation
based solely on the description in the book.
(2) To help others learn about the language by producing source code for an
implementation that was well structured, easy to read, and was
publically available.
(3) To build a system we could use to actually write small Dylan(TM)
programs, to get a feel for the language through using it.
We feel we have met these three goals as well as can be expected in a four
week project with three people. It was never our intention to produce an
implementation that performs well, and Thomas has no optimizations of any
kind. It does not perform well. This reflects our goals and not
necessarily the design of the language itself.
Thomas is NOT Dylan(TM). We have not received approval for the use of the
trademark, and we have not received a copy of a test suite other than the
examples from the book itself. We may, at some future date, pursue these
issues with Apple. The Thomas system was built with no direct input, aid,
assistance or discussion with Apple. All design and implementation
decisions in Thomas reflect choices by the Thomas implementors based on
reading the book published by Apple. These decisions must not be
construed in any way as deriving from Apple Computer Corporation or its
employees.
* * *
The Thomas system is being distributed in a form compatible with three
existing public implementations of Scheme. Each has its own subdirectory
(in ./kits) with a README file:
MIT -- MIT's CScheme implementation, available for Vax (Ultrix, Berkeley
Unix, and possibly VMS); Unix on the MIPS, 680x0, Alpha, and HP
Precision Architecture; and Intel 386/486 under MS/DOS and Windows
3.0. In order to use Thomas in MIT CScheme, you must have a working
installation of MIT CScheme on your system. The MIT CScheme system
is available by ftp from altdorf.ai.mit.edu.
scc -- DEC's Scheme->C system, available for VAX/ULTRIX, DECstation, SGI
Iris, Amiga, Sun3, Sun4, DNx500, DN1000 386 (running SYS V Unix),
NeXT, HP9000/700 and Sony News 3200 systems. This subdirectory
includes an object module that can be linked on a DECStation to
produce a running Scheme interpreter, as well as the files needed
to install Thomas in an existing Scheme->C system on other
machines. Scheme->C (scc) is available by ftp from
gatekeeper.pa.dec.com.
gambit -- Marc Feeley's Scheme system for (primarily) the Motorola 680x0
family of machines including the Macintosh. You must have a
working installation of Gambit to use this version. Gambit is
available by ftp from trex.iro.umontreal.ca
* * *
Brief description of the top-level directory of Thomas.
RELEASE -- Release notes; what's changed in this release.
DIFFERENCES -- Known differences between the language handled by Thomas and
the language as specified in "Dylan(TM) an object-oriented dynamic
language" by Apple Computer Eastern Research and Technology, April
1992.
README -- This file.
kits/MIT -- Symbolic links to all files required to implement Thomas in MIT
CScheme.
kits/gambit -- Symbolic links to all files required to implement Thomas in
Marc Feeley's Gambit system.
kits/scc -- Symbolic links to all files required to implement Thomas in
Digital Equipment Corporation's Scheme->C system.
There are also a number of files of interest primarily to people porting or
implementing Thomas.
dylan-examples.dyl -- Edited and commented examples from the
Dylan(TM) book.
examples-from-book.text -- Source of examples from the Dylan(TM) book, as
extracted and edited by Andrew Shalit of Apple Computer Eastern
Research and Technology. This is the "raw" version from which
dylan-examples.dyl was derived.
full-test.scm -- A Scheme program which can be used for regression
testing of Thomas. This program reads and executes the examples
given in dylan-examples.dyl. Additional examples can be found in
examples-from-book.text, and in some of the kits/<name>/src/ files.
portable -- A subdirectory containing code extracted from the MIT CScheme
runtime system and edited to make it portable (within limits as
explained at the start of each file) to other implementations of
Scheme. The code in these files is required by the current
implementation of Thomas, and these sources are supplied to aid
people who wish to port Thomas to other Scheme systems.
src -- The source code for the Thomas system. This contains all of the
code needed for the MIT CScheme version of Thomas. Augmented by
the sources in portable and in the implementation-specific
subdirectory for a particular Scheme implementation it should be
sufficient to rebuild Thomas.
$Id: README,v 1.5 1992/09/25 16:36:21 birkholz Exp $